import _ from 'lodash'
// import { combineReducers } from 'redux'
// import { requireAll } from 'common/util'

// const reducers = requireAll(require.context('.', true, /^(.(?!index))+\.js$/))

// const combineObjectToReducer = obj => {
//     Object
//         .entries(obj)
//         .filter(([k, v]) => typeof v === 'object')
//         .forEach(([k, v]) => {
//             combineObjectToReducer(v)
//             obj[k] = combineReducers(v)
//         })
// }
// combineObjectToReducer(reducers)
// import ACTIONS from '../constants/actions'

// const ACTIONS = {
//     APP: {
//         GET_USER: 'get/user/info'
//     },
//     MESSAGE: {
//         MESSAGE_LIST: {
//             ITEMS: 'get/message/list'
//         },
//         MESSAGE_TYPES: 'get/message/type'
//     },
// }
// const state = {
//     app: {
//         user: {}
//     },
//     message: {
//         message_list: {
//             items: {

//             }
//         },
//         message_types: {

//         }
//     }
// }

// const customReducer = {
//     [MAIN.SUBJECT.LIST](state, action) {
//         return
//     }
// }
const baseReducer = (state = {}, action) =>
    // if (action.type in customReducer) {

    // } else {
    // console.log('update', action.type, action.payload)
    _.set({ ...state }, action.type, action.payload)
    // }


// const reducers = {}

// const mapKeyToReducer = (key, value) => {
//     if (_.some(value)) {

//     } else {

//     }
// }


// _.toPairs(ACTIONS).forEach((key, value) => {
//     reducers[key] = mapKeyToReducer(key, value)
// })


// const reducers = (state = {}, action) => {
//     switch(action.type) {
//         default:
//             return {
//                 action,
//             }
//     }
// }

export default baseReducer
